import type { Gender, PermissionType } from './baseEnum'

// 表单结构数据，是数据库表的结构的映射子集

export type RoleData = {
  name: string
  description: string
  permissionIDs: number[]
}

export type UserData = {
  account: string
  nickname: string
  email: string
  password: string
  phone: string
  gender: Gender | string
  is_active: number // 0: 禁用 1: 启用 不采用驼峰是为了和后端数据库保持一致
  role_name: string[]
}

export type PermissionData = {
  id: number
  parent_id: number
  parent_name: string
  title: string // 权限名称，目录名、菜单名、按钮名
  code: string // 权限字段，如sys:user:add

  type: PermissionType // 资源类型 0目录1菜单2按钮操作
  icon: string // element图标
  order_num?: number // 显示顺序

  route_name?: string // 路由名称
  route_path?: string // 路由地址
  route_component?: string // 路由组件

  created_at: string
  updated_at: string
}

export type ApisData = {
  method : string
  path : string
  handler : string
}
